Circular Problem Solving